/**
 * 通知其他组件有数据更新啦
 */
class UpdateData {
  constructor() {
    this.taskList = [];
  }
  addUpdateFun(key, fun) {
    this.taskList.push({ key, fun });
  }
  delFun(key) {
    this.taskList.filter((ele) => ele.key !== key);
  }
  updated(type) {
    try {
      if (type) {
        if (typeof type === 'string') {
          this.taskList.find((ele) => ele.key === type)?.fun();
        } else {
          type.forEach((item) => {
            this.taskList.find((ele) => ele.key === item)?.fun();
          });
        }
      } else {
        this.taskList.forEach((ele) => {
          ele.fun && ele.fun();
        });
      }
    } catch (error) {
      console.log(error);
    }
  }
}
const updateTool = new UpdateData();
export default updateTool;
